package com.example.demo.controller;


import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 *  更简单的日志输出.
 *  每次都使用 LoggerFactory.getLogger(xxx.class) 很繁琐，且每个类都添加⼀遍，也很麻烦，
 *  这里讲⼀种更好⽤的⽇志输出⽅式，使⽤ lombok 来更简单的输出。
 *  1. 添加 lombok 框架⽀持。
 *  2. 使⽤ @slf4j 注解输出⽇志
 */

@Controller
@ResponseBody
@Slf4j // 更简单的日志输出.
@RequestMapping("/article")
public class ArticleController {

    // 得到日志对象
    // public static final Logger logger = LoggerFactory.getLogger(ArticleController.class);
    @RequestMapping("/hi")
    public String sayHi() {
        // 加了 @Slf4j 注解后, 该类的方法就内置了 log 对象.
        log.trace("我是 slf4j的 trace, 痕迹日志");
        log.debug("我是 slf4j的 debug, 调试日志");
        log.info("我是 slf4j的 info, 普通日志");
        log.warn("我是 slf4j的 warn, 警告日志");
        log.error("我是 slf4j的 error, 错误日志");
        return "Hi, article info.";
    }
}
